System and method for compensating for supply voltage induced signal delay mismatches

ABSTRACT

Various systems and methods providing signal delay compensation for circuits such as a multi-pair gigabit Ethernet transceiver are disclosed. In an analog implementation a buffer with an adjustable delay may be used to minimize the delay mismatch between clock trees. The delay of the adjustable-delay buffer is controlled by bias voltages that determine the charging and discharging current to the adjustable buffer. A phase detector circuit is used to compare the clock phases for rising and falling edges, and to adjust the bias voltages that control these edges. In a digital implementation a selector switch, responsive to a phase detector, may be used to route clock signals through circuit elements to delay clock signals.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application Ser. No. 60/177,776, filed Jan. 24, 2000 and U.S. provisional application Ser. No. 60/182,421, filed Feb. 14, 2000.

FIELD OF THE INVENTION

The present invention relates generally to electronic circuits and, more particularly, to efficient clock domain partitioning and clock delay matching.

BACKGROUND OF THE INVENTION

There is a perpetual need for increased operating speed in electronics circuits used in electronic equipment. For example, circuit designers are continually developing communication circuits and microprocessors that can send and process data, respectively, at faster and faster rates.

However, tradeoffs typically must be made between the speed at which a circuit operates and the power the circuit consumes. In general, a circuit that operates at a higher speed than a comparable circuit will consume more power than that comparable circuit. In many circumstances, there is a practical limit on the amount of power a given circuit can or should consume. For example, increased power consumption typically results in a higher overall cost for the system. Moreover, certain types of electronic circuits such as integrated circuits can only dissipate a limited amount of power. High power consumption may also have other adverse effects on the operation of a circuit such as reducing the reliability of the circuit and adversely affecting the timing relationships in the circuit.

It has been observed that in some circuits not all of the circuitry has the same speed requirements. That is, some of the circuitry may operate at slower speeds than other circuitry. In this case, multiple supply voltages may be used to reduce the power dissipation of the integrated circuit. Those circuits that are speed sensitive are driven at a higher supply voltage while the less speed critical circuits are driven at a lower supply voltage. As a result, the less speed critical circuit will consume less power.

Typically, signals will be sent between these high-power and low-power circuits. In the case where these signals are referenced to a common system clock signal, the two circuits will be driven by clock signals derived from the common system clock signal. These derived clock signals, in turn, are generated by circuit components that operate at the respective supply voltage. That is, clock signals for the high-power circuits (the high power domain) are generated by circuit components that operate at the high supply voltage. Clock signals for the low-power circuits (the low-power domain) are generated by circuit components that operate at the low supply voltage.

As in virtually all electronic circuits, the circuit components that generate the clock signals induce a delay in signals that pass through them. Moreover, the delay of a given circuit component depends, in general, on the supply voltage. In addition, supply voltages may deviate from their nominal values by certain tolerances, for example, +/−10%. As a result of these delays, the clocks that drive the circuit components that operate at different supply voltages may be delayed in time relative to one another. Moreover, this delay in time may vary over time as the supply voltages deviate within their operating tolerances.

The misalignment of the clock signals in the different domains due to this delay may result in clock uncertainty. This, in turn, may reduce the available cycle time of the circuit because the clock uncertainty has to be compensated by asynchronous delays when a signal is exchanged between the two domains within one clock cycle. As a result, it may be impossible to double latch the signals. In sum, this misalignment of the clock signals may corrupt data being processed by the circuit.

SUMMARY OF THE INVENTION

The invention is directed to systems and methods for providing signals (e.g., clock signals) to circuits driven by different supply voltages. According to the invention, the signals for the circuits driven by the different supply voltages are delayed, as necessary, to reduce the phase difference (i.e., delay) between the signals.

One embodiment of a system constructed according to the invention incorporates a buffer with an adjustable delay to reduce the delay mismatch between clock signals driven by clock trees associated with each supply voltage. A phase detector circuit compares the clock phases for rising and falling edges of the clock signals for each supply voltage. The phase detector circuit controls bias voltages that, in turn, control the delay of the adjustable-delay buffer. Thus, one of the signals is delayed until its delay effectively matches the delay of the other signal.

Another embodiment of a system constructed according to the invention incorporates a selector circuit that selectively routes the clock signals for the different supply voltages through an appropriate number of circuit elements to adjust the delay of those clock signals. In this embodiment, the selector circuit is controlled by a phase detector that compares the edges of the clock signals for the different supply voltages.

Significantly, the circuits in these embodiments may directly compare signals that have different signal levels (e.g., voltage level and voltage swing). Thus, the teachings of the invention may be incorporated to provide very effective circuits for compensating for delay mismatches between different signals.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects and advantages of the present invention will be more fully understood when considered with respect to the following detailed description, appended claims and accompanying drawings, wherein:

FIG. 1 is a block diagram of one embodiment of a system incorporating delay compensation according to the invention;

FIG. 2 is a block diagram of one embodiment of a clock tree;

FIG. 3 is a schematic diagram of one embodiment of a branch of the clock tree of FIG. 2;

FIG. 4 is an exemplary timing diagram for the three clock signals of FIG. 2;

FIG. 5 is a block diagram of one embodiment of an analog delay locked loop circuit according to the invention;

FIG. 6 is a schematic diagram of one embodiment of an adjustable delay buffer circuit according to the invention;

FIG. 7 is an exemplary graph of delay adjustments for the circuit of FIG. 6;

FIGS. 8A-8D are exemplary simulation results for the circuit of FIG. 6;

FIG. 9 is a circuit diagram of one embodiment of a rising edge phase detector constructed according to the invention;

FIG. 10 is a circuit diagram of one embodiment of a falling edge phase detector constructed according to the invention;

FIG. 11 is a circuit diagram of one embodiment of low pass filters for the circuit of FIG. 5;

FIG. 12 is an exemplary timing diagram for the analog delay locked loop circuit of FIG. 5;

FIGS. 13A-13E are exemplary simulation results for the analog delay locked loop circuit of FIG. 5;

FIG. 14 is a block diagram of one embodiment of a digital delay locked loop constructed according to the invention;

FIG. 15 is a block diagram of an alternative embodiment of a circuit for implementing a variable delay in a digital delay locked loop;

FIG. 16 is a simplified block diagram of one embodiment of a high-speed bidirectional communication system;

FIG. 17 is a simplified block diagram of one embodiment of a giga-bit transceiver integrated circuit incorporating clock delay compensation according to the invention; and

FIG. 18 is a simplified block diagram of one embodiment of a trellis decoder circuit incorporated in the integrated circuit of FIG. 17.

DETAILED DESCRIPTION OF THE INVENTION

The invention is described below, with reference to detailed illustrative embodiments. It will be apparent that the invention can be embodied in a wide variety of forms, some of which may be quite different from those of the disclosed embodiments. Consequently, the specific structural and functional details disclosed herein are merely representative and do not limit the scope of the invention.

FIG. 1 is a block diagram of one embodiment of a system S utilizing clock delay compensation in accordance with the present invention. Specifically, the system S incorporates a timing circuit 20 that includes a signal comparator 22 (e.g., a phase comparator)and a delay adjuster circuit 24 for reducing phase mismatches between clocks 26 and 28 that drive circuit A 30 and circuit B 32, respectively.

The system of FIG. 1 typically is implemented in an integrated circuit where multiple supply voltages are used to reduce the power dissipation of the integrated circuit. In this case, less timing-critical parts operate on a lower supply voltage than timing-critical parts of the circuit. For example, in FIG. 1 each of the circuits 30 and 32 is powered by a different supply voltage (V_(DDH) 34 and V_(DDL) 36). In practice, a single power supply or more than one power supply 38 may be used to generate supply voltages 34 and 36.

As mentioned above, the circuits 30 and 32 may be driven by different clock signals 26 and 28. Typically, clock trees are used to buffer a master clock signal to provide clock signals with sufficient current drive to the circuits. In FIG. 1, the master clock signal drives two clock trees, one buffer tree in the high voltage domain, and the other buffer tree in the low voltage domain.

A clock tree 40 generates the clock signals 26. As shown in FIG. 1, the clock tree 40 is powered by supply voltage V_(DDH) 34 so that the clock signals 26 have the appropriate signal level (e.g., voltage level and swing) for circuit A 30. In this embodiment, the clock signal is generated by a master clock 44 that is powered by supply voltage V_(DDH) 34.

A clock tree 42 generates the clock signals 28. The clock tree 42 is powered by supply voltage V_(DDL) 36 so that the clock signals 28 have the appropriate signal level (e.g., voltage level and swing) for circuit B 32. To this end, a level adjuster 46 is provided to shift the level of the clock signal generated by the master clock 44 to a level compatible with circuits powered by supply voltage V_(DDL) 36.

FIG. 2 illustrates one implementation of the clock trees 40 and 42. As represented in FIG. 2, both clock trees are driven by a common clock signal designated phi. Clock tree 40 generates a set of clock signals designated phi_(H). Clock tree 42 generates a set of clock signals designated phi_(L). Clock tree 40 has a supply voltage V_(DDH) of 2.5 volts. Clock tree 42 has a supply voltage V_(DDL) of 1.8 volts. Either of these supply voltages may vary by +/−10% due to temperature and other variants.

FIG. 3 illustrates how the clock signal phi may be delayed as it passes through each of the components in a clock tree. The schematic at the top of FIG. 3 represents one embodiment of a branch of the clock tree 42 along with the level adjuster 46. Each branch of the clock tree includes several buffers, the number of which will depend, in part, on the number of branches required for the clock tree and the current drive capability of the buffers. The level adjuster 46 converts the signal level of the clock signal from the 2.5 volts range to the 1.8 volts range.

The chart immediately below the schematic in FIG. 3 illustrates delay characteristics of the clock tree 42 and the level adjuster 46. The symbols SS, TT and FF represent simulations at the slow slow, typical typical and fast fast corners, respectively (e.g., worst case, typical case and best case scenarios). Each row in the chart sets forth the delays (in nanoseconds, nS) for a given part of the branch. For example, for the typical case, the dispersed buffer cell 50 has a delay of 0.26 nS. The level adjuster 46, nor gate 52, inverter 54 and buffer 56 have a total delay of 1.02 nS. The nor gate 58, inverter 60 and buffer 62 have a total delay of 0.72 nS. Thus, the total delay for the branch is 2.00 nS.

The delay of these buffers is supply voltage dependent. In other words, when the supply voltage in a given domain changes, the delays of the buffers may change. This scenario is illustrated in FIG. 4 which depicts exemplary timing diagrams for the three clock signals, phi, phi_(H) and phi_(L). Under typical conditions, the circuit may be designed so that phi_(H) and phi_(L) are delayed by approximately the same amount of time, τ_(Ht) and τ_(Lt), respectively. However, when one of the supply voltages changes (e.g., V_(DDH) decreases by 10%), the delay though the corresponding buffer tree (e.g., buffer tree 40) may increase (e.g., by 12%). This situation is indicated graphically in FIG. 4 as edges of the clock signal moving in time either to the left or right.

Significantly, the supply voltages may change independently of each other. Thus, even if the clock trees are nominally designed to have the same delay, under normal operating conditions the actual delay of the clock trees may be mismatched by several hundred picoseconds. This may occur, for example, when one supply voltage is at its maximum value and the other is at its minimum value. Under these worst case conditions the edges of the clock signal might move in time either to the left or right by the maximum amounts indicated in FIG. 4 (e.g., τ_(Ht)+12%/−8%; τ_(Lt)+21%/−14%). In the example of FIG. 4, this may cause ±800 picoseconds of phase shift between phi_(H) and phi_(L) as indicated by the filled portions 70 of the timing diagrams.

Referring again to FIG. 1, these variations in the two supply voltages may cause an out of phase relationship between the clock signals 26 and 28 for circuit A 30 and circuit B 32. As represented by line 48 in FIG. 1, circuits 30 and 32 typically send signals to one another (e.g., when a register in circuit A 30 sends a signal to a register in circuit B 32). Depending upon the particular application, these signals may be referenced to the master clock 44. Given that the amount of the delay through the clock trees 40 and 42 may be dependent on supply voltage, it is possible that there will be a phase difference (mismatch) between these clock signals.

This phase difference could have an adverse effect on data transfers between the two circuits. For example, the phase difference, typically would reduce the cycle time for circuit operations. That is, the circuits will have to be designed to provide more delay in the system timing between operations than would otherwise be required. This in turn would decrease the speed at which the circuits could operate. Moreover, this mismatch may lead to race conditions between registers that are clocked by clock signals 26 and 28.

In accordance with the invention, this phase mismatch may be corrected by varying the delay of one of the clock signals (e.g., phi_(H)) to compensate for the phase mismatch between the clock signals. This delay is regulated to keep the phase difference between the two clock signals as close to zero as possible. FIG. 1 describes one embodiment of such a circuit. In FIG. 1 a signal comparator 22 (e.g., a phase detector) compares the clock signals at the ends of the two clock trees 40 and 42 to determine the phase difference between the clock signals 26 and 28. Depending on the result of the comparison, the signal comparator 22 sends compensation signals to the delay adjuster 24 to increase or decrease the delay of clock signal to clock tree 40.

Referring now to FIG. 5, a preferred embodiment of an analog delay locked loop (“DLL”) for performing phase detection and delay adjustment operations is shown in block diagram form. In a manner similar to that described above, a reference clock signal phi 76 is used to generate clock signals phi_(H) 78 and phi_(L) 80. The clock signal phi_(L) 80 is generated from phi 76 via a level shift and via buffers that comprise the phi_(L) clock tree (not shown). The clock signal phi_(H) 78 is generated from phi 76 via an adjustable delay buffer 82 and via buffers 84 and 86 that comprise the phi_(H) clock tree. Phase detectors 88 and 90 compare phi_(H) 78 and phi_(L) 80 and generate signals that control the delay of adjustable delay buffer 82.

The operation of the adjustable delay buffer 82 of FIG. 5 will be discussed in conjunction with FIGS. 6 and 7. FIG. 6 is a schematic diagram of one embodiment of the adjustable delay buffer 82 implemented in CMOS circuitry. The adjustable delay buffer has input “i” and output “o” and is controlled by bias voltages V_(BIASP) and V_(BIASN) that affect the charging and discharging current to an intermediate node of the adjustable delay buffer 82.

MOS transistors P4 104 and N1 106 form a basic inverter for buffering and inverting input ‘i’ 108 to generate ‘ob’ 110. Signal ‘ob’ 110 is inverted to produce the non-inverted output ‘o’ of the adjustable delay buffer. PMOS transistors P1 112, P2 114 and P3 116 control current flow for the rise time of the basic inverter. P2 114 supplies a constant current because it is always ON with a grounded gate, thus defining the maximum rise time for ‘ob’ 110 when P1 112 and P3 116 are both off. P1 112 is either OFF or ON depending on the state of the “resetb” signal and, when ON, provides an intermediate supply current to the inverter. In a preferred embodiment, the circuit is designed so that the current supplied when P1 112 and P2 114 are both on is in the middle of the regulation window that is covered by the adjustable delay buffer 82. P3 116 provides an adjustable current to the inverter depending on the value of V_(BIASP). Preferably, the ON and OFF states of P1 112 and P3 116 are mutually exclusive.

Transistors N2 118, N3 120 and N4 122 operate in a similar way for controlling current flow for the falling edge of ‘ob’ 110. N3 120 sinks a constant current because it is always ON with its gate tied to a high voltage thereby defining the maximum fall time for ‘ob’ 110 when N2 118 and N4 122 are both off. N2 118 is either OFF or ON depending on the state of the “reset” signal (the compliment of resetb) and, when ON, provides an intermediate sinking current for the inverter. In a preferred embodiment, the circuit is designed so that the current sunk when N2 118 and N3 120 are both ON is in the middle of the regulation window that is covered by the adjustable delay buffer 82. N4 122 sinks an adjustable current to the inverter depending on the value of V_(BIASN). Preferably, the ON and OFF states of N2 118 and N4 122 are mutually exclusive.

Through the use of the constant current transistors P2 114 and N3 120 and the reset signals, the adjustable delay buffer may be set to a maximum delay state or to a fixed intermediate delay state. In practice, the transistors P1 112 and N2 118 are dimensioned so that under typical operating conditions, the buffer provides enough delay so that the output of the two clock trees are aligned in phase.

Adjustable delay is provided by varying V_(BIASN) and V_(BIASN). As these signals are varied, the rise time and fall time of the inverter is varied resulting in a variable delay between ‘i’ 108 and ‘ob’ 110.

FIG. 7 is a graph representative of delay adjustments for the adjustable delay buffer 82 of FIG. 6. The vertical axis represents the rise times and fall times at “ob” 110. The horizontal axis represents the bias voltages V_(BIASP) and V_(BIASN). V_(TN) is the threshold voltage of an NFET. V_(TP) is the threshold voltage of a PFET. In this example, the reset signals are inactive.

Curve tf(ob) 126 corresponds to V_(BIASK). When V_(BIASN) is below V_(TN) then the buffer 82 provides a constant delay for the falling edge because transistor N4 122 is off. As V_(BIASN) increases to values above V_(TN) N4 122 turns on thereby providing more sink current for N1 106. As a result, the fall time of node “ob” 110 decreases.

Curve tr(ob) 128 corresponds to V_(BIASP). When V_(BIASP) is above V_(DD)−V_(TP) then the buffer 82 provides a constant delay for the rising edge because transistor P3 116 is off. As V_(BIASP) decreases to values below V_(DD)−V_(TP) P3 116 turns on thereby providing more source current for P4 104. As a result, the rise time of node “ob” 110 decreases.

FIGS. 8A-8D depict simulation results for the delays under typical conditions. FIG. 8A illustrates the delay for the rising edge. FIG. 8B illustrates the delay sensitivity (i.e., the gradient of the delay curve: gradient delay over gradient bias voltage) for the rising edge. FIG. 8C illustrates the delay for the falling edge. FIG. 8D illustrates the delay sensitivity for the falling edge.

Referring again to FIG. 5, the generation of V_(BIASP) and V_(BIASN) will be treated in detail. The phi signal 76 is fed through the adjustable delay buffer 82 and then through buffers 84 and 86 to generate phi_(H) 78. The signal phi_(H) 78 is used to clock the two phase detectors PDTF1 88 (clocked on the falling edge of phi_(H)) and PDTR2 90 (clocked on the rising edge of phi_(H)). The signal phi_(L) 80 is used as the data signal to both of the phase detectors PDTF1 88 and PDTR2 90.

The phase detector for the falling edge, PDTF1 88, generates a control signal (early) which is one of two inputs to a nand gate 140. The resetb signal is the other input to the nand gate 140. The digital output of nand gate 140 is fed to a low pass filter (consisting of R1 142 and C1 144) to generate the V_(BIASP) signal as an analog value.

Typically, the output of the nand gate 140 may remain high for a few clock cycles. This will cause V_(BIASP) to rise slowly. When the phase detector 88 detects that the falling edge of clock signal phi_(H) is no longer earlier than the input signal phi_(L) the phase detector 88 switches the early signal to its opposite value. At this point, the output of the nand gate 140 will go low. When this happens, V_(BIASP) will fall slowly. Thus, the value of V_(BIASP) will vary back and forth in relatively small intervals. The nand gate 140 functions to keep the ON and OFF state of the transistors P1 112 and P3 116 in FIG. 6 mutually exclusive.

V_(BIASN) is generated in a similar fashion using the rising edge phase detector PDTR2 90 to control a nor gate 146 and the low pass filter consisting of resistor R2 148 and capacitor C2 150. The phase detector for the rising edge, PDTR2 90, generates a control signal (late) which is one of two inputs to nor gate 146. The resetb signal is the other input to the nor gate 146. The digital output of NOR gate 146 is fed to a low pass filter (consisting of R2 148 and C2 150) to generate the V_(BIASN) signal as an analog value.

Typically, the output of the nor gate 146 may remain high for a few clock cycles. This will cause V_(BIASN) to rise slowly. When the phase detector 90 detects that the rising edge clock signal phi_(H) is no longer later than the input signal phi_(L) the phase detector 90 switches the late signal to its opposite value. At this point, the output of the nor gate 146 will go low. When this happens, V_(BIASN) will fall slowly. Thus, the value of V_(BIASN) will vary back and forth in relatively small intervals. The nor gate 146 functions to keep the ON and OFF state of the transistors N2 118 and N4 122 in FIG. 6 mutually exclusive.

FIGS. 9 and 10 are circuit diagrams of one embodiment of the phase detectors 90 and 88 for the rising edge and the falling edge, respectively. Referring to FIG. 9, this register circuit generates the late signal when phi_(H) rises before phi_(L). Transistors P2 154 and N1 156 and transistors P3 158 and N2 160 form the sampling latch in the register. Transistor N3 163 is used to latch the state of the clock signal phi_(L) when phi_(H) is rising. Depending on which clock signal transitions first, the complementary latch outputs q 164 and qn 166 will be at a 1 or a 0 state, respectively.

Switch transistors 168 and 170 and the two inverters 172 and 174 form the output latch in the register. Because the latch is pre-charged, the pre-charge state could potentially become the output. To avoid this, the output (qn) 166 is clocked latched in the output latch to generate the “late” signal. When the latch is precharging, the connection through the output latch, in effect, broken so that the output latch stores the value of the previous evaluation by the sampling latch, not the precharge value. The inverter 176 is used to provide the same load on output q 164 as is present on output qn 166.

Referring now to the falling edge detector 88 in FIG. 10, this register circuit generates the early signal when phi_(L) falls before phi_(H). Transistors P2 180 and N2 182 and transistors P3 184 and N3 186 form the sampling latch in the register. Transistor p1 189 is used to latch the state of phi_(L) when phi_(H) is falling. Depending on which clock signal transitions first, the complementary latch outputs q 192 and qn 194 will be at a 1 or a 0 state, respectively.

Switch transistors 196 and 198 and the two inverters 200 and 202 form the output latch in the register for reasons similar to those discussed above in conjunction with FIG. 9. Similarly, inverter 204 is used to provide the same load on output q 192 as is present on output qn 194.

FIG. 11 shows an exemplary implementation for the low pass filters R1 142 and C1 144 and R2 148 and C2 150, using CMOS technology. That is, the circuits on the right side of FIG. 11 are the CMOS implementations of the RC circuits depicted on the left side of FIG. 11.

FIG. 12 depicts a delay measurement (Δτ_(H)) for an exemplary analog DLL where there is a mismatch between the delay for phi_(H) and phi_(L). In operation, the analog DLL described herein will adjust τ_(H) to match τ_(L) (Δτ_(H)=0). It will be understood by those skilled in the art that the accuracy with which the analog DLL can match τ_(H) to τ_(L) depends on a variety of factors including, for example, circuit characteristics, operating condition and manufacturing tolerances. In general, while the goal is to obtain a perfect match at all times between τ_(H) and τ_(L), in practice this match will be somewhat less than exact.

FIGS. 13A-13E show simulation results for different states of an exemplary analog DLL. FIG. 13A depicts a buffer mismatch (the values of Δτ_(H) for several corner conditions) when reset is set to a “1.” FIG. 13B depicts a buffer mismatch when reset is set to a “0.” These simulations illustrate the circuit of FIG. 5 reduces clock uncertainty by a factor of three. FIG. 13C depicts buffer mismatch hysteresis for several corner conditions when reset is set to a “0.” FIG. 13D depicts tracking range under the conditions V_(DDH)=2.5V, V_(DDL)=1.8V at corner TT and a temperature of 25° C. FIG. 13D depicts tracking hysteresis under the conditions V_(DDH)=2.5V, V_(DDL)=1.8V at corner TT and a temperature of 25° C.

Referring now to FIG. 14, this figure describes another embodiment of the invention wherein a digital delay locked loop (“DLL”) is used to compensate for the phase variations of two clocks, phi_(H) and phi_(L). In this circuit, several delay elements, e.g., buffers 210, 212, 214, 216 and 218, are used to generate delayed versions of the input clock signal phi. A delay selector comprising selector switch 222 and counter1 230 selects the one delayed clock signal that provides the best match to the desired phase of the output clock. In other words, selector switch 222 controls the delay of phi_(H) to match the phase of phi_(L) by selecting a version of the clock signal phi that has passed through as few as none (switch 222 connects output lead 234 to input lead 236) and as many as five (switch 222 connects output lead 234 to input lead 238) of the buffers 210-218. Flip-flop DFF1 224 performs the function of a phase detector. Flop-flops DFF2 226 and DFF3 228 are signal stabilizers that help resolve meta stability conditions that exist due to the circuit driving DFF1 224 SO that phi_(H) clocks the DFF1 224 when phi_(L) is in transition. Counter1 230 controls the position of the selector switch 222 based on the phase difference between phi_(H) and phi_(L). Counter2 232 is, in effect, a low pass filter that reduces jitter in the circuit so that the jitter does not effect the position of the selector switch 222.

Basically, each transition of the clock signal output is a phase measurement and this results in a high or low output by DFF3 228 that feeds to counter1 230 through the low pass filter (counter2 232). When the phases of the phi_(H) and phi_(L) are equal, the output of DFF3 228 will toggle thereby setting counter2 232 to alternate between counting up and counting down. In this case, the output of counter2 will not saturate in either the high or low direction. As a result, counter1 230 will not change the position of the selector switch 222. In the event of a phase mismatch between phi_(H) and phi_(L), counter2 232 may eventually saturate (high or low) at some defined value which will cause counter1 230 to change the position of the selector switch 222.

The minimum resolution of this digital delay lock loop is limited to the delay of one buffer. In practice, this resolution may be too large to provide adequate delay compensation in certain circuits.

FIG. 15 is a block diagram of an alternative embodiment of a circuit for implementing a variable delay in a digital scheme. For example, the circuit of FIG. 15 could replace the buffers 210-218 and the selector switch 222 of FIG. 14. The delay in this circuit is controlled by selecting the path of the input signal phi though delay elements consisting of multiplexors (“Muxs”) 240, 242, 244 and 246 and inverters 248, 250, 252, 254 and 256. Muxs 240, 242, 244 and 246 may, in general, be selected by the output of counter1 in FIG. 14 (e.g., using a thermometer code). The next shortest signal path through this structure is through Mux0 240. The next selection has a delay that results from propagation through inverter 248, Mux1 242 and Mux0 240. Therefore, incremental delays can be added by going one step to the right through an additional inverter and the corresponding Mux delay. The advantage of this structure is that the select switch does not have to be balanced as it typically would be in the embodiment of FIG. 14. When the signal is switched from one path to the next path, only an inverter and a Mux delay are added.

The digital delay locked loop has several advantages over the analog delay locked loop. For example, the digital embodiments may be easier to implement than the analog embodiments because a digital circuit may be constructed using gates from a standard cell library. Moreover, the parameters of the digital circuit are relatively stable; whereas the parameters of, for example, the low pass filter in the analog circuit may change depending on the process corner of the chip, the particular lot of the chip and operating conditions such as temperature and supply voltage.

However, the minimum resolution of the digital circuit typically is limited to the delay of a Mux plus an inverter. For example, in one embodiment, with operating conditions of VDD=2.5V, SS corner, temperature=25° C., the delay is quantized to approximately 0.35 nS. Thus, the delay is slightly longer than the one buffer delay described in conjunction with FIG. 14.

In one embodiment, the phase error between phi_(H) and phi_(L) is approximately +/−400 picoseconds (“pS”) with changes in VDD of +/−10%. The phase error is approximately +/−200 pS with changes in VDD of +/−5%. Thus, the resolution of the embodiments of the digital DLL described above is not small enough to provide effective delay compensation in this case. In sum, for practical application of the digital DLL, it is important to select delay components that have sufficiently small delay, e.g., appreciably smaller than the maximum phase error between phi_(H) and Phi_(L).

A comparison of the analog DLL and the digital DLLs described above illustrate that the analog DLL may be preferable to the digital DLL in many circumstances. For example an analog DLL that aligns the rising and falling edges is preferable to a digital design that aligns only one edge (e.g., the rising edge). Clock jitter (e.g., τ_(hyst)) in one embodiment of the analog DLL is approximately 0.06 nS. In one of the digital embodiments, the clock jitter was approximately 0.35 nS. Also, in the digital DLL delay is quantized (e.g., 0.35 nS) while the analog DLL can, in effect, continuously track changes in the delay. In addition, the digital DLL may consume more power than the analog DLL due to switching activity that may occur in digital DLL implementations. In sum, the analog DLL may provide better performance at a lower cost.

Referring to FIG. 16, in one embodiment a circuit constructed according to the invention is implemented as an integrated circuit-based bidirectional communication system. In this case, the present invention may be characterized as a system and method for accommodating efficient, high speed decoding of signal samples encoded according to the trellis code specified in the IEEE 802.3ab standard (also termed 1000BASE-T standard). The physical implementation of this embodiment is a gigabit ethernet transceiver chip 266 that is installed on a transceiver circuit board 268. The decoder circuitry portions of transceiver demodulation blocks require a multiplicity of operational steps to be taken in order to effectively decode each symbol. Such a multiplicity of operations is computationally complex and may push the switching speeds of integrated circuit transistors which make up the computational blocks to their fundamental limits. Consequently, the transceiver chip 266 may use multiple supply voltages to reduce the power dissipation of the integrated circuit.

FIG. 17 is a simplified block diagram of the functional architecture and internal construction of the transceiver chip 266 and other portions of the transceiver board 268. In one embodiment of this implementation, circuits such as echo canceller 260 and near-end crosstalk (“NEXT”) cancellers 262 may be operated at a lower supply voltage than some of the other circuits in the transceiver chip. In this case, a lower supply voltage powers the components that generate the clock signals for clocking the Echo/NEXT cancellers. In accordance with the invention, a clock circuit (not shown) may incorporate phase compensation to reduce phase mismatches between the clocks sent to the echo cancellers 260 and the NEXT cancellers 262 and the clocks sent to other circuits in the transceiver chip 266.

FIG. 18 is a simplified block diagram of some of the trellis decode functionality from decode block 270 in the transceiver chip 266. The decode functionality includes a decision feedback equalizer 264 (“DFE”) that may be operated at a lower supply voltage than some of the other circuits in the transceiver chip 266. In this case, a lower supply voltage powers the components that generate the clock signals for clocking the DFE 264. As discussed above, the timing recovery circuit 258 may incorporate phase compensation to reduce phase mismatches between the clocks sent to the DFE 264 and the clocks sent to other circuits in the transceiver chip 266.

In summary, the invention described herein provides an effective technique for compensating for phase mismatches that may occur as a result of variations in power supply outputs. While certain exemplary embodiments have been described in detail and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive of the broad invention. It will thus be recognized that various modifications may be made to the illustrated and other embodiments of the invention described above, without departing from the broad inventive scope thereof.

For example, a variety of circuits may be used to implement analog DLLs and digital DLLs in accordance with the invention. The invention may be embodied in many different forms, for example, in virtually any type of integrated circuit. That is, the teachings of the invention are not limited to any particular integrated circuit function or structure. Moreover, such an integrated circuit could be used in a variety of devices such as transceiver boards 268 in personal computers, network interface cards and network infrastructure switches. It should be understood by one skilled in the art, given the teachings of the invention, that the operating characteristics of the analog and digital DLLs will depend, for example, on circuit parameters and operating conditions.

In addition, it would be apparent to one skilled in the art based on the description herein that the teachings of the invention may be applied to circuits that incorporate any number of supply voltages and signals (e.g., clock signals). For example, in the case where three supply voltages are used in the system S of FIG. 1, a third clock tree and level shifter (not shown) could be used to supply the clock signals to a third circuit (e.g., circuit C, not shown). In addition, another delay adjust circuit could be used in circuit B or C. In this case, the signal comparator also would compare the output of the third clock tree to control the delay adjust circuits so that the clocks for all three of the circuits are closely synchronized.

In view of the above it will be understood that the invention is not limited to the particular embodiments or arrangements disclosed, but is rather intended to cover any changes, adaptations or modifications which are within the scope and spirit of the invention as defined by the appended claims. 

What is claimed is:
 1. A system for compensating for phase differences between a plurality of signals, comprising: a level adjuster for modifying a signal level of a signal to generate a first signal associated with a first signal level that is different than a second signal level associated with a second signal; at least one phase comparator for comparing a phase of the first signal with a phase of the second signal, and for generating at least one compensation signal indicative of a phase difference between the first signal and the second signal; and at least one delay adjuster coupled to the at least one phase comparator and responsive to the at least one compensation signal, for delaying at least one of the first signal and the second signal to compensate for the phase difference between the first signal and the second signal.
 2. The system of claim 1 wherein the at least one delay adjuster comprises at least one adjustable delay buffer.
 3. The system of claim 2 wherein the at least one phase comparator comprises: a rising edge phase comparator for comparing a rising edge of the first signal with a rising edge of the second signal, for generating at least one rising edge compensation signal indicative of a phase difference between the rising edge of the first signal and the rising edge of the second signal; and a falling edge phase comparator for comparing a falling edge of the first signal with a falling edge of the second signal, for generating at least one falling edge compensation signal indicative of a phase difference between the falling edge of the first signal and the falling edge of the second signal.
 4. The system of claim 3 wherein the at least one adjustable delay buffer comprises: delays the rising edge of at least one of the first signal and the second signal in response to the rising edge compensation signal; and delays the falling edge of at least one of the first signal and the second signal in response to the falling edge compensation signal.
 5. The system of claim 2 wherein the at least one adjustable delay buffer comprises: at least one buffer transistor for buffering the first signal; and at least one control transistor, responsive to the at least one compensation signal, for adjusting current flow through the at least one buffer transistor for controlling delay of the first signal through the at least one buffer transistor.
 6. An integrated circuit including circuitry for compensating for phase differences between a plurality of clock signals, comprising: a level adjuster for modifying a signal level of a signal to generate a first signal associated with a first signal level that is different than a second signal level associated with a second signal; at least one phase comparator for comparing a phase of the first signal with a phase of the second signal, and for generating at least one compensation signal indicative of a phase difference between the first signal and the second signal; and at least one delay adjuster coupled to the at least one phase comparator and responsive to the at least one compensation signal, for delaying at least one of the first signal and the second signal to compensate for the phase difference between the first signal and the second signal.
 7. The integrated circuit of claim 6 wherein the integrated circuit comprises a gigabit ethernet transceiver.
 8. The integrated circuit of claim 7 wherein the first signal comprises a clock signal that is associated with at least one of a near end crosstalk canceller, an echo canceller and a decision feed back equalizer.
 9. A method for compensating for phase differences between a plurality of signals associated with a plurality of signal levels, comprising the steps of: generating a first signal associated with a first signal level; generating a second signal associated with a second signal level; comparing a phase of the first signal with a phase of the second signal to generate at least one compensation signal indicative of a phase difference between the first signal and the second signal; and delaying the first signal to compensate for the phase difference between the first signal and the second signal.
 10. The method of claim 9 wherein: the comparing step further comprises the steps of: comparing a rising edge of the first signal with a rising edge of the second signal to generate a rising edge compensation signal indicative of a phase difference between the rising edge of the first signal and the rising edge of the second signal; and comparing a falling edge of the first signal with a falling edge of the second signal to generate a falling edge compensation signal indicative of a phase difference between the falling edge of the first signal and the falling edge of the second signal; and the delaying step further comprises the steps of: delaying the rising edge of the first signal in response to the rising edge compensation signal; and delaying the falling edge of the first signal in response to the falling edge compensation signal.
 11. The method of claim 9 further comprising the step of selectively routing the first signal through at least one of a plurality of delay elements to compensate for the phase difference between the first signal and the second signal.
 12. The method of claim 9 further comprising the steps of generating the first signal and the second signal with a plurality of clock trees. 